/*
 * Copyright (c) 2006 by Naohide Sano, All rights reserved.
 *
 * Programmed by Naohide Sano
 */

package vavi.net.im.protocol.ymsg.auth;


/**
 * FunctionList. 
 *
 * @author <a href="mailto:vavivavi@yahoo.co.jp">Naohide Sano</a> (nsano)
 * @version 0.00 061105 nsano initial version <br>
 */
final class FunctionList {
    /**
     * Ugliness
     */
    public static final int[][][] values = {
        // IDENT
        {
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 },
            { 0, 0x0, 0x0 }
        },
        // XOR
        {
            { 2, 0x36056cd7, 0x4387 },
            { 3, 0x538920, 0x0 },
            { 3, 0x538a20, 0x0 },
            { 4, 0x55f320, 0x0 },
            { 3, 0x539320, 0x0 },
            { 4, 0x55f340, 0x0 },
            { 2, 0x4abb534d, 0x3769 },
            { 1, 0x1d242da5, 0x0 },
            { 2, 0x3c23132d, 0x339b },
            { 1, 0x191265c, 0x0 },
            { 1, 0x3db979db, 0x0 },
            { 3, 0x539868, 0x0 },
            { 1, 0x1a550e1e, 0x0 },
            { 1, 0x2f140a2d, 0x0 },
            { 2, 0x7c466a4b, 0x29bf },
            { 1, 0x2d3f30d3, 0x0 },
            { 2, 0x7e823b21, 0x6bb3 },
            { 4, 0x55f360, 0x0 },
            { 3, 0x5395a8, 0x0 },
            { 4, 0x55f604, 0x0 },
            { 3, 0x539ba8, 0x0 },
            { 4, 0x5628c4, 0x0 },
            { 3, 0x547818, 0x0 },
            { 4, 0x5628e4, 0x0 },
            { 3, 0x547978, 0x0 },
            { 4, 0x5628a4, 0x0 },
            { 2, 0x5b756ab9, 0x7e9b },
            { 3, 0x539d48, 0x0 },
            { 1, 0x1d1c4911, 0x0 },
            { 3, 0x539f60, 0x0 },
            { 3, 0x53a060, 0x0 },
            { 1, 0x46bd7771, 0x0 },
            { 1, 0x51ae2b42, 0x0 },
            { 2, 0x2417591b, 0x177b },
            { 2, 0x57f27c5f, 0x2433 },
            { 3, 0x53a588, 0x0 },
            { 3, 0x53a688, 0x0 },
            { 1, 0x71422261, 0x0 },
            { 4, 0x55f6a4, 0x0 },
            { 2, 0x58e937f9, 0x1075 },
            { 3, 0x53a7c8, 0x0 },
            { 4, 0x55f6c4, 0x0 },
            { 3, 0x53a8c8, 0x0 },
            { 3, 0x53aa20, 0x0 },
            { 2, 0xb4c3d13, 0x1597 },
            { 4, 0x55f6e4, 0x0 },
            { 1, 0xfe07d38, 0x0 },
            { 2, 0x689b4017, 0x3cfb },
            { 4, 0x562928, 0x0 },
            { 3, 0x547b00, 0x0 },
            { 1, 0x35413df3, 0x0 },
            { 2, 0x5b611ab, 0x570b },
            { 2, 0xda5334f, 0x3ac7 },
            { 1, 0x47706008, 0x0 },
            { 4, 0x55f744, 0x0 },
            { 3, 0x547548, 0x0 },
            { 4, 0x562884, 0x0 },
            { 1, 0x57611b36, 0x0 },
            { 2, 0x314c2cd1, 0x2b5b },
            { 1, 0x1ef33946, 0x0 },
            { 2, 0x28ea041f, 0x638f },
            { 3, 0x53b1d0, 0x0 },
            { 3, 0x53b2d0, 0x0 },
            { 3, 0x53b418, 0x0 },
            { 2, 0x511537cb, 0x7135 },
            { 2, 0x1cf71007, 0x5e17 },
            { 1, 0x583d4bcf, 0x0 },
            { 3, 0x53b550, 0x0 },
            { 1, 0x373e6856, 0x0 },
            { 2, 0x4d595519, 0x1a7d },
            { 3, 0x53b718, 0x0 },
            { 3, 0x53b838, 0x0 },
            { 1, 0xe2a36a7, 0x0 },
            { 3, 0x53bc10, 0x0 },
            { 3, 0x53bd10, 0x0 },
            { 4, 0x55f784, 0x0 },
            { 4, 0x55f7a4, 0x0 },
            { 1, 0x53f3604f, 0x0 },
            { 4, 0x55f7c4, 0x0 },
            { 4, 0x55f7e4, 0x0 },
            { 2, 0x1edc0ba3, 0x7531 },
            { 3, 0x53be50, 0x0 },
            { 1, 0x10df1038, 0x0 },
            { 4, 0x55f804, 0x0 },
            { 3, 0x53bf68, 0x0 },
            { 1, 0x4ede0cac, 0x0 },
            { 2, 0x2f076eeb, 0x5bcf },
            { 1, 0x6d86030f, 0x0 },
            { 1, 0x3f331713, 0x0 },
            { 3, 0x53c0e8, 0x0 },
            { 2, 0x41cd726f, 0x3f79 },
            { 4, 0x55f824, 0x0 },
            { 1, 0xece0054, 0x0 },
            { 2, 0x19b32b03, 0x4ad1 },
            { 4, 0x55f844, 0x0 },
            { 4, 0x55f864, 0x0 }
        },
        // MULADD
        {
            { 2, 0x39731111, 0x419b },
            { 1, 0x54f7757a, 0x0 },
            { 4, 0x55f884, 0x0 },
            { 4, 0x55f8a4, 0x0 },
            { 3, 0x53c240, 0x0 },
            { 3, 0x53c368, 0x0 },
            { 2, 0x3cc0256b, 0x7ce7 },
            { 1, 0x79991847, 0x0 },
            { 2, 0x228f7fb5, 0x472d },
            { 2, 0x32da290b, 0x7745 },
            { 1, 0x7a28180d, 0x0 },
            { 4, 0x55f91c, 0x0 },
            { 4, 0x55f93c, 0x0 },
            { 2, 0x5c814f8b, 0x227f },
            { 3, 0x53c7b0, 0x0 },
            { 2, 0xb496f6d, 0x412d },
            { 1, 0x6f4b62da, 0x0 },
            { 3, 0x53c8b8, 0x0 },
            { 1, 0x64973977, 0x0 },
            { 3, 0x53c9e8, 0x0 },
            { 3, 0x53cae8, 0x0 },
            { 4, 0x55f9d0, 0x0 },
            { 3, 0x53cd28, 0x0 },
            { 3, 0x547230, 0x0 },
            { 1, 0x6dd14c92, 0x0 },
            { 3, 0x53ceb0, 0x0 },
            { 4, 0x560280, 0x0 },
            { 4, 0x56034c, 0x0 },
            { 4, 0x56036c, 0x0 },
            { 3, 0x53d168, 0x0 },
            { 1, 0x5e6324d8, 0x0 },
            { 3, 0x53d2d0, 0x0 },
            { 3, 0x53d3d0, 0x0 },
            { 3, 0x53d798, 0x0 },
            { 4, 0x5605b0, 0x0 },
            { 1, 0x62745ed0, 0x0 },
            { 2, 0x102c215b, 0x581 },
            { 3, 0x53d970, 0x0 },
            { 3, 0x53da70, 0x0 },
            { 3, 0x53dbd0, 0x0 },
            { 2, 0x19511111, 0x12c1 },
            { 3, 0x53dd70, 0x0 },
            { 2, 0x2a6e2953, 0x6977 },
            { 3, 0x53e0d0, 0x0 },
            { 1, 0x55cd5445, 0x0 },
            { 4, 0x560bcc, 0x0 },
            { 4, 0x560bec, 0x0 },
            { 2, 0x646c21eb, 0x43e5 },
            { 1, 0x71dc4898, 0x0 },
            { 1, 0x167519cb, 0x0 },
            { 1, 0x6d3158f8, 0x0 },
            { 1, 0x7ea95bea, 0x0 },
            { 4, 0x560c10, 0x0 },
            { 1, 0x47377587, 0x0 },
            { 1, 0x2d8b6e8f, 0x0 },
            { 2, 0x5e6105db, 0x1605 },
            { 1, 0x65b543c8, 0x0 },
            { 3, 0x540278, 0x0 },
            { 4, 0x560d34, 0x0 },
            { 2, 0x48af73cb, 0xa67 },
            { 1, 0x4fb96154, 0x0 },
            { 3, 0x5406e8, 0x0 },
            { 4, 0x560e38, 0x0 },
            { 1, 0x622c4954, 0x0 },
            { 4, 0x561014, 0x0 },
            { 1, 0x20d220f3, 0x0 },
            { 1, 0x361d4f0d, 0x0 },
            { 1, 0x2b2000d1, 0x0 },
            { 1, 0x6fb8593e, 0x0 },
            { 3, 0x5409e8, 0x0 },
            { 4, 0x561074, 0x0 },
            { 1, 0x2b7f7dfc, 0x0 },
            { 2, 0x5fc41a57, 0x693 },
            { 2, 0x17154387, 0x2489 },
            { 4, 0x561094, 0x0 },
            { 4, 0x5610b4, 0x0 },
            { 4, 0x5610d4, 0x0 },
            { 3, 0x540d18, 0x0 },
            { 1, 0x7e221470, 0x0 },
            { 1, 0x7a600061, 0x0 },
            { 4, 0x561190, 0x0 },
            { 4, 0x5611b0, 0x0 },
            { 3, 0x541218, 0x0 },
            { 4, 0x5611d0, 0x0 },
            { 2, 0xe813a5, 0x2ce5 },
            { 2, 0x3d707e25, 0x3827 },
            { 2, 0x77a53e07, 0x6a5f },
            { 4, 0x562968, 0x0 },
            { 3, 0x547d98, 0x0 },
            { 3, 0x547f10, 0x0 },
            { 1, 0x43a73788, 0x0 },
            { 3, 0x5387b0, 0x0 },
            { 4, 0x55f214, 0x0 },
            { 3, 0x539420, 0x0 },
            { 1, 0x55f4606b, 0x0 },
            { 4, 0x55f380, 0x0 }
        },
        // LOOKUP
        {
            { 5, 0x55f3f8, 0x0 },
            { 2, 0x32ca58e3, 0x4f9 },
            { 1, 0x11756b30, 0x0 },
            { 2, 0x218b2569, 0x5db1 },
            { 1, 0x77d64b90, 0x0 },
            { 5, 0x562948, 0x0 },
            { 3, 0x547c10, 0x0 },
            { 2, 0x7d1428cb, 0x3d },
            { 1, 0x6f872c49, 0x0 },
            { 1, 0x2e484655, 0x0 },
            { 2, 0x1e3349f7, 0x41f5 },
            { 3, 0x541400, 0x0 },
            { 5, 0x561258, 0x0 },
            { 1, 0x61640311, 0x0 },
            { 5, 0x561278, 0x0 },
            { 3, 0x541588, 0x0 },
            { 3, 0x541688, 0x0 },
            { 3, 0x541988, 0x0 },
            { 1, 0x7044d3, 0x0 },
            { 5, 0x561298, 0x0 },
            { 2, 0x5c221625, 0x576f },
            { 3, 0x541b30, 0x0 },
            { 3, 0x541c30, 0x0 },
            { 1, 0x2d406bb1, 0x0 },
            { 2, 0x680b1f17, 0x12cd },
            { 5, 0x5613a0, 0x0 },
            { 2, 0x12564d55, 0x32b9 },
            { 2, 0x21a67897, 0x6bab },
            { 3, 0x541db8, 0x0 },
            { 2, 0x6405119, 0x7143 },
            { 1, 0x351d01ed, 0x0 },
            { 2, 0x46356f6b, 0xa49 },
            { 2, 0x32c77969, 0x72f3 },
            { 5, 0x5613c0, 0x0 },
            { 3, 0x541fe0, 0x0 },
            { 3, 0x5420e0, 0x0 },
            { 5, 0x5613e4, 0x0 },
            { 3, 0x542220, 0x0 },
            { 5, 0x561404, 0x0 },
            { 2, 0x74d52c55, 0x5f43 },
            { 1, 0x26201ca8, 0x0 },
            { 1, 0x7aeb3255, 0x0 },
            { 3, 0x53ab20, 0x0 },
            { 2, 0x578f1047, 0x640b },
            { 3, 0x542738, 0x0 },
            { 3, 0x542df8, 0x0 },
            { 5, 0x5615a0, 0x0 },
            { 5, 0x561628, 0x0 },
            { 1, 0x4a1352cf, 0x0 },
            { 2, 0x4bfb6ef3, 0x704f },
            { 2, 0x1b4c7fe7, 0x5637 },
            { 2, 0x4091a3b, 0x4917 },
            { 1, 0x270c2f52, 0x0 },
            { 3, 0x5430b8, 0x0 },
            { 5, 0x561748, 0x0 },
            { 3, 0x543220, 0x0 },
            { 5, 0x561768, 0x0 },
            { 2, 0x127549d5, 0x579b },
            { 2, 0xab54121, 0x7a47 },
            { 5, 0x5617f0, 0x0 },
            { 1, 0x751e6e49, 0x0 },
            { 3, 0x543580, 0x0 },
            { 3, 0x543680, 0x0 },
            { 1, 0x670c3f74, 0x0 },
            { 2, 0x6b080851, 0x7e8b },
            { 1, 0x71cd789e, 0x0 },
            { 1, 0x3eb20b7b, 0x0 },
            { 5, 0x561ea0, 0x0 },
            { 3, 0x543848, 0x0 },
            { 2, 0x58a67753, 0x272b },
            { 2, 0x1ab54ad7, 0x4d33 },
            { 2, 0x7d30a45, 0x569 },
            { 2, 0x737616bf, 0x70c7 },
            { 3, 0x543990, 0x0 },
            { 2, 0x45c4485d, 0x2063 },
            { 5, 0x561f38, 0x0 },
            { 1, 0x2598043d, 0x0 },
            { 2, 0x223a4fe3, 0x49a7 },
            { 1, 0x1eed619f, 0x0 },
            { 5, 0x561f58, 0x0 },
            { 1, 0x6f477561, 0x0 },
            { 5, 0x561f7c, 0x0 },
            { 5, 0x561f9c, 0x0 },
            { 3, 0x543bf8, 0x0 },
            { 2, 0x4bc13c4f, 0x45c1 },
            { 1, 0x3b547bfb, 0x0 },
            { 3, 0x543d08, 0x0 },
            { 2, 0x71406ab3, 0x7a5f },
            { 1, 0x2f1467e9, 0x0 },
            { 2, 0x9366d1, 0x22d1 },
            { 2, 0x587d1b75, 0x2ca5 },
            { 2, 0x213a4be7, 0x4499 },
            { 2, 0x62653e89, 0x2d5d },
            { 5, 0x562198, 0x0 },
            { 2, 0x4f5f3257, 0x444f },
            { 2, 0x4c0e2b2b, 0x19d3 }
        },
        // BITFLD
        {
            { 2, 0x3f867b35, 0x7b3b },
            { 2, 0x32d25cb1, 0x3d6d },
            { 5, 0x5622f0, 0x0 },
            { 2, 0x50fa1c51, 0x5f4f },
            { 3, 0x544130, 0x0 },
            { 1, 0x5fe7af1, 0x0 },
            { 2, 0x14067c29, 0x10c5 },
            { 3, 0x544298, 0x0 },
            { 2, 0x4a5558c5, 0x271f },
            { 1, 0x3c0861b1, 0x0 },
            { 5, 0x562864, 0x0 },
            { 3, 0x546d50, 0x0 },
            { 2, 0x18837c9d, 0x6335 },
            { 5, 0x56238c, 0x0 },
            { 1, 0x7dab5033, 0x0 },
            { 3, 0x544548, 0x0 },
            { 2, 0x3b87321, 0x7225 },
            { 1, 0x7f906745, 0x0 },
            { 3, 0x544700, 0x0 },
            { 5, 0x5623ac, 0x0 },
            { 1, 0x21c46c2c, 0x0 },
            { 2, 0x2b36757d, 0x28d },
            { 5, 0x5623cc, 0x0 },
            { 3, 0x5448a8, 0x0 },
            { 1, 0x106b4a85, 0x0 },
            { 1, 0x17640f11, 0x0 },
            { 3, 0x544a28, 0x0 },
            { 1, 0x69e60486, 0x0 },
            { 3, 0x547670, 0x0 },
            { 2, 0x3782017d, 0x5bf },
            { 5, 0x5623ec, 0x0 },
            { 3, 0x5480c8, 0x0 },
            { 1, 0x6bca53b0, 0x0 },
            { 3, 0x546af0, 0x0 },
            { 3, 0x546bf0, 0x0 },
            { 3, 0x544d20, 0x0 },
            { 3, 0x544e20, 0x0 },
            { 1, 0xb8236e3, 0x0 },
            { 5, 0x562908, 0x0 },
            { 2, 0x5ee51c43, 0x4553 },
            { 5, 0x56249c, 0x0 },
            { 3, 0x546fd8, 0x0 },
            { 3, 0x5470d8, 0x0 },
            { 3, 0x546970, 0x0 },
            { 2, 0x42b14c6f, 0x5531 },
            { 1, 0x4a2548e8, 0x0 },
            { 2, 0x5c071d85, 0x2437 },
            { 3, 0x5467d8, 0x0 },
            { 2, 0x29195861, 0x108b },
            { 1, 0x24012258, 0x0 },
            { 3, 0x546690, 0x0 },
            { 1, 0x63cc2377, 0x0 },
            { 1, 0x8d04b59, 0x0 },
            { 2, 0x3fd30cf5, 0x7027 },
            { 1, 0x7c3e0478, 0x0 },
            { 2, 0x457776b7, 0x24b3 },
            { 1, 0x86652bc, 0x0 },
            { 2, 0x302f5b13, 0x371d },
            { 3, 0x546548, 0x0 },
            { 2, 0x58692d47, 0x671 },
            { 1, 0x6601178e, 0x0 },
            { 2, 0xf195b9b, 0x1369 },
            { 1, 0x7ba21d8, 0x0 },
            { 5, 0x562544, 0x0 },
            { 5, 0x562564, 0x0 },
            { 1, 0x13ac3d21, 0x0 },
            { 2, 0x5bcf3275, 0x6e1b },
            { 2, 0x62725c5b, 0x16b9 },
            { 2, 0x5b950fdf, 0x2d35 },
            { 5, 0x5625a0, 0x0 },
            { 5, 0x5625c0, 0x0 },
            { 2, 0x73ba5335, 0x1c13 },
            { 5, 0x5625e0, 0x0 },
            { 5, 0x562600, 0x0 },
            { 1, 0x3e144154, 0x0 },
            { 2, 0x4eed7b27, 0x38ab },
            { 3, 0x545c58, 0x0 },
            { 2, 0x627c7e0f, 0x7f01 },
            { 2, 0x5d7e1f73, 0x2c0f },
            { 3, 0x545aa0, 0x0 },
            { 2, 0x55c9525f, 0x4659 },
            { 1, 0x3765334c, 0x0 },
            { 2, 0x5df66ddf, 0x7c25 },
            { 3, 0x545d78, 0x0 },
            { 3, 0x545e78, 0x0 },
            { 1, 0x16ae5776, 0x0 },
            { 3, 0x545ff8, 0x0 },
            { 3, 0x546190, 0x0 },
            { 5, 0x562620, 0x0 },
            { 5, 0x562640, 0x0 },
            { 3, 0x546290, 0x0 },
            { 2, 0x4392327b, 0x7e0d },
            { 3, 0x546398, 0x0 },
            { 2, 0x3d8b0cb5, 0x640d },
            { 2, 0x32865601, 0x4d43 },
            { 5, 0x562660, 0x0 }
        }
    };
}

/* */
